package com.party.course.domain;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.party.common.annotation.Excel;
import com.party.common.core.domain.BaseEntity;
import lombok.*;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.ToString;

import java.util.List;

/**
 * 交付小组对象 pay_group
 *
 * @author ruoyi
 * @date 2025-05-29
 */
@Data
@TableName(value = "pay_group")
@ToString
@NoArgsConstructor
@AllArgsConstructor
@EqualsAndHashCode(callSuper = false)
public class PayGroup extends BaseEntity {
    private static final long serialVersionUID = 1L;

    /**
     * $column.columnComment
     */
    @TableId(type = IdType.ASSIGN_ID)
    private String id;

    /**
     * "企微群聊机器人key"
     */
    @Excel(name = "企微群聊机器人key")
    private String botKey;

    /**
     * "课程分类id"
     */
    @Excel(name = "课程分类id")
    private String classTypeId;

    /**
     * "所属交付小组"
     */
    @Excel(name = "课程分类名称")
    private String classTypeName;

    /**
     * "所属交付小组"
     */
    @Excel(name = "所属交付小组")
    private String name;

    /**
     * "接单类型"
     */
    @Excel(name = "接单类型")
    private String orderType;

    /**
     * "组长id"
     */
    @Excel(name = "组长id")
    private String userGroupId;

    /**
     * "组长姓名"
     */
    @Excel(name = "组长姓名")
    private String userGroupName;

    /**
     * "小组成员ids"
     */
    @Excel(name = "小组成员ids")
    private String memberIds;

    /**
     * "小组成员ids"
     */
    @Excel(name = "小组成员名称")
    private String memberNames;

    /**
     * "正式课承担量"
     */
    @Excel(name = "正式课承担量")
    private Integer formalMax;

    /**
     * "正式课比例"
     */
    @Excel(name = "正式课比例")
    private double formalRatio;

    /**
     * "试课承担量"
     */
    @Excel(name = "试课承担量")
    private Integer testMax;

    /**
     * "试课比例"
     */
    @Excel(name = "试课比例")
    private double testRatio;

    /**
     * "正式课已使用量"
     */
    @Excel(name = "正式课已使用量")
    private Integer formalUse;

    /**
     * "试课已使用量"
     */
    @Excel(name = "试课已使用量")
    private Integer testUse;

    private String delFlag;

    @TableField(exist = false)
    private List<CoachInfo> members;

    @TableField(exist = false)
    private List<String> memberIdList;

}
